package viewInterfaces;

import modelInterfaces.ITest;
import controllerInterfaces.IControllerTestSetup;

/**
 * Interface used to select the algorithms and metrics that will be included in a test this is to add a test.
 * 
 * @author Andy Cullache.
 */
public interface IViewTestSetup extends IViewFrame {
	
	/**
	 * Sets the controller of instance that implements this interface.
	 * 
	 * @param myController      Test setup controller.
	 */
	public void setController(IControllerTestSetup myController);
	
	/**
	 * Method used when editing a test, set out in it the selected algorithms and
	 *  metrics that have the test.
	 */
	public void setTestSetup();
	
	/**
	 * Method is used when editing a test for this parameter that is delivered as object instance ITest.
	 * 
	 * @param test      Test to edit.
	 */
	public void setTest(ITest test);
	
	/**
	 * Method used to display error messages with the respective code.
	 * 
	 * @param code      Error code.
	 * @param message      Message code.
	 */
	public void renderError(int errorCode, String errorMessage);
}
